1. Field of the Invention
This invention relates to the field of computer systems, and in particular to systems with data access latency.
2. Description of Related Art
With increasing information availability, increasing use of computer systems and networks, and an increasingly diverse population of computer users, conventional processing and networking techniques are becoming increasingly unsatisfactory. One example of the problem can be found in the xe2x80x9ccomputer-izationxe2x80x9d of the medical profession. In the past, patient files, test results, x-rays, and the like were communicated via physical media, such as paper notes, photographs, and computer printouts. Today, medical professional expect to have all of this information, and more, available on demand at the nearest computer display device. Characteristically, the items that are on demand often are those that are information-laden, such as x-ray and cat-scan images. An explanation of bandwidth limitations, information transfer, system loading, and the like has little effect on assuaging the discontent of such professionals when they are forced to wait for items that had heretofore been available xe2x80x9cat their fingertipsxe2x80x9d from the files of physical media.
Techniques have been developed to alleviate some of the frustrations caused by the delays that are inherent to electronic information transfer. Data compression techniques, for example, aid in reducing the amount of data that needs to be transferred to convey the information. Hierarchical data transfer is commonly employed to provide a xe2x80x9chigher-levelxe2x80x9d view of the information before all the lower level details are communicated, allowing for a termination of the transfer as soon as it discovered that further details are not required. Multi-path communication networks and packet transmission techniques allow for messages to arrive via alternative paths, depending upon the current congestion of each path. In like manner, multi-tiered networks allow for a hierarchy of network clusters, wherein xe2x80x9clocalxe2x80x9d traffic is contained within each cluster, and the communications paths between clusters are reserved for inter-network traffic.
Despite these advances in, communications and network technologies, it is often the case that a user enters a command on a client processor and is forced to wait while the information is being communicated from a remote processor, or while the process corresponding to the command is being loaded for execution by the client processor from a local or remote storage device. In a number of situations, particularly when the user is anxious to receive the information, the perceived delay often exceeds the actual response time. This differential between perceived response time and actual response time often increases the frustration level, and in some situations, compounds the problem when the user resubmits the same request.
It is an object of this invention to provide a system having an improved actual response time to user requests. It is a further object of this invention to provide a system having an improved perceived response time to user requests. It is a further object of this invention to provide an improved user interface for communicating user requests. It is a further object of this invention to provide improved system security while processing user requests.
These objects and others are achieved by employing a variety of performance optimization techniques based upon a history of a user""s usage of the system. A number of techniques are employed to enhance the system performance from an individual user""s perspective, as follows. Based on the user""s prior usage patterns, the system prefetches information in anticipation of the user""s request. Based on the user""s prior usage patterns, if a response to the user""s request is likely to be delayed, the system initiates other anticipated fast-response processes for the user, to reduce the perceived delay. Based on the user""s prior usage patterns, the user""s interface is modified to facilitate the entry of anticipated requests. Based on the user""s prior usage patterns, increased security measures are invoked when the user""s request pattern is inconsistent with prior request patterns. At a system level, performance assessments and optimizations, including dynamic load balancing, are based on the prior usage patterns of multiple users.